package com.backwaveweibo.bww.mapper;

import com.backwaveweibo.bww.entity.Weibo;

import java.util.List;

/**
 * @author GHW : RD-Kelsey
 * @description 微博-数据访问层
 * @date 2020/6/9
 */
public interface WeiboMapper {

    /**
     * 发布微博
     *
     * @param weibo  微博实体
     * @param userId 发布人id
     * @return true | false 发布是否成功
     */
    boolean addWeibo(Weibo weibo, Long userId);

    /**
     * 按条件获取微博信息，可传入任意实体中的可接收参数，无参数则全查
     *
     * @param weibo 实体
     * @return list集合
     */
    List<Weibo> getWeiboInfoByCondition(Weibo weibo);

    /**
     * 删除微博
     *
     * @param weiboId 微博id
     * @return true | false 删除是否成功
     */
    boolean deleteWeibo(Long weiboId);

    /**
     * 查询所有用户发的微博
     *
     * @return 微博list集合
     */
    List<Weibo> queryAll();

    /**
     * 得到当前用户的微博总条数
     *
     * @param userId 用户id
     * @return 总条数
     */
    List<Weibo> countCurrentUserWeibo(Long userId);

//    --------------------------------Elasticsearch-----------------------------------------------

    /**
     * id单查
     *
     * @param weiboId 微博id
     * @return 对象：Weibo
     */
    Weibo queryById(Long weiboId);
}
